Nginx日志审计小模型(开源)

TQSec 大圣 TQSec网络安全
2025年9月22日 16:00

TQSec LogAnalysisBot

Q

什么是TQSec LogAnalysisBot

A

      TQSec LogAnalysisBot是一个基于Nginx日志的攻击检测和分析工具。它使用深度学习模型来识别和分类攻击行为,帮助安全团队及时发现和响应安全威胁。  

      我们希望使用最小的资源占用实现最精准的识别。该模型文件仅不到3M大小,目前使用PHP的日志进行训练,您可以客制化独属于您的专业识别的模型。

模型大小 ≤5M

识别速度 ≤10ms

最低配置 1H1G

当前支持的后端 PHP

支持的中间件 Nginx

Q

精准度和泛化能力怎么样?

A

      目前测试集上的精准度为 98.86% ,召回率为 99.19% ,F1分数为 99.24% 。


      我们的模型在测试集上的泛化能力表现良好,能够准确识别未知的攻击行为。


      对同类型(PHP为后端的代码)识别攻击行为均为 0.9+  

      对同类型(PHP为后端的代码)识别正常行为均为 0.1-  

图片

Q

推荐的配置是什么?

A

可运行的最低配置  

1H1G / NoGPU  

推荐  

2H2G / NoGPU  

这个小模型不需要GPU  

如果您需要训练、微调请参考以下配置  

8H8G / NoGPU  

01

客制化小模型 (定制小模型)

1

您需要先准备Nginx Log训练集

攻击行为日志 attack.log.txt

正常请求日志 safe.log.txt

安装python依赖

图片

2

将日志文件格式化到Jsonl文件中

python Log2Jsonl.py

脚本会自动添加标记数据 is_attack 到jsonl文件中

图片
图片

3

特征提取、URL和UA分词

python Jsonl2npz.py

脚本会将 output.jsonl 文件中的日志内容进行特征提取、URL和UA分词处理。

图片
图片

4

模型训练

python model_train.py

训练完成后会将训练好的ai模型保存到 tqsecLogAI.h5 文件中  

训练完成后会生成 scaler.npy 文件,用于标准化特征数据

图片
图片
图片

5

模型使用

python predict_final.py test.log
图片
图片
图片

6

模型微调

# 将日志文件格式化为 jsonl 文件python Log2Jsonl.py
# 提取特征和URL、UA分词python Json2npz.py
# 微调模型python trimming.py

由于之前的训练数据不够1W条,强烈建议您根据您的实际情况,使用更多的训练数据进行微调。如果您的训练数据不多,建议直接重新训练!  

在运行以下代码前请确保您准备好了微调训练集 attack.log.txt 和 safe.log.txt 文件(显而易见,attack.log.txt 中的日志为攻击行为,safe.log.txt 中的日志为正常请求)

ERROR

如果您遇到以下报错

图片

1

系统缺少C++组件

安装项目目录下VC_redist.x64.exe文件即可

项目下载地址

https://gitee.com/dashengbaby/tqsec-log-analysis-bot

图片

点击蓝字 关注我们

图片

神经网络 · 目录
下一篇Nginx日志审计小模型重大版本更新
作者提示: 个人观点,仅供参考